<!-- 登录页 -->
<template>
  <div style="height: 100vh;overflow: hidden;
  background-image:linear-gradient(135deg,#1352F2,#3C82F5);">
    <el-container style="padding: 30px;">
      <el-header>
        <el-row :gutter="10">
          <el-col :span="3">
            <img src="/imgs/login/logo.png" style="height: 50px;">
          </el-col>
          <el-col :span="1">
            <img src="/imgs/login/auto.png" style="height: 50px;">
          </el-col>
          <el-col :span="1">
            <img src="/imgs/login/verticalLine.png" style="height: 50px;">
          </el-col>
          <el-col :span="19">
            <span style="color:#fff;font-weight:bold;font-size:30px;">
              智慧车辆运营管理系统
            </span>
          </el-col>
        </el-row>
      </el-header>
      <el-main>
        <el-row :gutter=40>
          <el-col :span="16">
            <img src="/imgs/login/bg.png" style="width:100%;margin-top:60px;">
          </el-col>
          <el-col :span="8">
            <el-card style="margin-top: 80px;">
              <h3 style="text-align: center">用户登陆</h3>
              <el-form label-position="top">
                <el-form-item label="用户名">
                  <el-input placeholder="请输入用户名" v-model="user.username"></el-input>
                </el-form-item>
                <el-form-item label="密码">
                  <el-input placeholder="请输入密码" type="password" v-model="user.password"></el-input>
                </el-form-item>
                <el-form-item>
                  <el-button type="primary" style="width: 100%;" @click="login">登陆</el-button>
                </el-form-item>
              </el-form>
              <div style="text-align: center;color: #666;font-size: 14px;padding:10px 0;">
                (体验账号：tom 密码：123456)
              </div>
            </el-card>
          </el-col>
        </el-row>
      </el-main>
    </el-container>
  </div>
</template>

<script setup>
  import {ref} from "vue";
  import axios from "axios";
  import {ElMessage} from "element-plus";
  import router from "@/router";

  const user = ref({username:'',password:''});
  const login = () => {
    //console.log(user.value);
    //给后端发送登陆请求，需要借助axios工具
    axios.post(BASE_URL+'/v1/user/login',user.value)
        .then((response)=>{
          //回调函数，服务器响应后执行此处代码
          //response是相应对象,我们可以通过response.data获取服务器的相应数据
          console.log(response.data);
          /* 根据JsonResult中的code值判断结果，如果是2000，说明登陆成功，反之登录失败 */
          if (response.data.code == 2000) {
            ElMessage.success('登陆成功！');
            //console.log(response.data); //后端返回的JsonResult
            //console.log(response.data.data); //JsonResult中的data,也就是userVO
            //console.log(JSON.stringify(response.data.data)); //将JS对象转为JSON格式的字符串
            /* localStorage只能存储字符串类型的键值对 */
            localStorage.setItem('user',JSON.stringify(response.data.data))
            router.push('/'); //登陆成功后跳转至首页，后重定向至用户列表页
          }else {
            //ElMessage.error('登录失败！');
            ElMessage.error(response.data.msg);
            user.value = {username:'',password:''}; //登录失败清空表单数据
          }
        })
  }
</script>

<style scoped>

</style>